Метавселенная. Создание пространственного интернета - Мэтью Болл
Повышение устойчивости отдельных виртуальных миров, тем не менее, будет иметь большое значение для роста Метавселенной. Как я буду говорить на протяжении всей этой книги, многие идеи дизайна, ставшие популярными за последние пять лет, не новы, а скорее вновь возможны. Так, сейчас мы, возможно, не можем понять, зачем World of Warcraft нужно навсегда запоминать точные следы пользователя на свежем снегу, но, скорее всего, какой-нибудь дизайнер в конце концов найдет ответ, и вскоре это станет основной особенностью многих игр. До тех пор виртуальные миры, наиболее нуждающиеся в постоянстве, скорее всего, будут основаны на виртуальной недвижимости или привязаны к физическим пространствам. Например, мы ожидаем, что "цифровые двойники" должны часто обновляться, чтобы отражать изменения в их реальных аналогах, и что платформы виртуальной недвижимости не будут "забывать" о новых предметах искусства или декора, добавленных в ту или иную комнату.
Синхронный
Мы не хотим, чтобы виртуальные миры в Метавселенной просто сохранялись или реагировали на нас в реальном времени. Мы также хотим, чтобы они были совместным опытом.
Чтобы это работало, каждый участник виртуального мира должен иметь интернет-соединение, способное передавать большие объемы данных за определенное время ("высокая пропускная способность"), а также низкую задержку ("быстрое") и непрерывное‡ (устойчивое и бесперебойное) соединение с сервером виртуального мира (как туда, так и обратно).
Это может показаться необычным требованием. В конце концов, десятки миллионов домов, вероятно, в данный момент транслируют видео высокой четкости, а большая часть мировой экономики работала с помощью программного обеспечения для видеоконференций в режиме реального времени и синхронно во время пандемии COVID-19. А провайдеры широкополосного доступа продолжают хвастаться улучшением пропускной способности и задержек, и с каждым днем перебои в работе интернета случаются все реже.
Однако синхронный онлайн-опыт - это, пожалуй, самое большое ограничение, с которым сегодня сталкивается Метавселенная, и то, которое труднее всего решить. Проще говоря, интернет не был создан для синхронного совместного опыта. Вместо этого он был создан для обмена статическими копиями сообщений и файлов от одной стороны к другой (а именно к исследовательским лабораториям и университетам, которые получали доступ к ним по одному). И хотя это звучит неправдоподобно ограничивающе, сегодня это вполне подходит почти для всех онлайн-опытов - в частности, потому, что почти ни один из них не требует постоянного подключения, чтобы чувствовать себя живым или, в общем, непрерывным!
Когда пользователь считает, что просматривает "живую" веб-страницу, например постоянно обновляющуюся ленту новостей Facebook или прямую трансляцию выборов от New York Times, на самом деле он просто получает часто обновляемые страницы. На самом деле происходит следующее. Для начала устройство пользователя делает запрос на сервер Facebook или Times через браузер или приложение. Затем сервер обрабатывает запрос и отправляет обратно соответствующий контент. Этот контент включает в себя код, который запрашивает обновления с сервера через определенный интервал времени (скажем, каждые 5 или 60 секунд). Более того, каждая из этих передач (с устройства пользователя или с соответствующего сервера) может проходить через различные сети, чтобы добраться до адресата. Хотя кажется, что это живое, непрерывное и двустороннее соединение, на самом деле это просто пакеты односторонних данных, с различной маршрутизацией и неживые. Та же модель применяется к приложениям, которые мы называем "мгновенными сообщениями". Пользователи и серверы между ними на самом деле просто пересылают друг другу фиксированные данные, при этом часто запрашивая информацию (отправку сообщения или квитанции о прочтении).
Даже Netflix работает не непрерывно, хотя термин "потоковое вещание" и целевой опыт - беспрерывное воспроизведение - говорят об обратном. На самом деле серверы компании отправляют пользователям отдельные порции данных, многие из которых проходят по разным сетевым маршрутам от сервера до пользователя. Часто Netflix даже отправляет контент пользователю раньше, чем это необходимо - например, на дополнительные 30 секунд. Если произойдет временная ошибка в доставке (например, определенный путь будет перегружен или пользователь на короткое время потеряет соединение с Wi-Fi), видео продолжит воспроизведение. Результатом подхода Netflix является доставка, которая кажется непрерывной, но только потому, что она не является таковой.
У Netflix есть и другие хитрости. Например, компания получает видеофайлы от нескольких месяцев до нескольких часов до того, как они станут доступны зрителям. Это дает компании возможность провести обширный анализ на основе машинного обучения, который позволяет уменьшить (или "сжать") размер файла, анализируя данные кадра, чтобы определить, какую информацию можно отбросить. В частности, алгоритмы компании будут "наблюдать" за сценой с голубым небом и решать, что, если пропускная способность интернета зрителя внезапно снизится, 500 различных оттенков голубого можно будет сократить до 200, или 50, или 25. Аналитика стримера даже делает это на основе контекста, понимая, что сцены с диалогами могут быть более сжатыми, чем сцены с быстро развивающимся действием. Кроме того, Netflix будет предварительно загружать контент на локальные узлы. Если вы попросите новый эпизод "Stranger Things", он будет находиться всего в нескольких кварталах от вас и, следовательно, будет доставлен сразу же.
Вышеописанные подходы работают только потому, что Netflix - это несинхронный опыт; вы не можете ничего "предварительно сделать" для контента, который производится в прямом эфире. Именно поэтому прямые видеопотоки, например, CNN или Twitch, значительно менее надежны, чем потоки по запросу от Netflix или HBO Max. Но даже у стримеров есть свои хитрости. Например, передача обычно задерживается на две-тридцать секунд, а значит, остается возможность предварительно отправить контент в случае временной перегрузки. Рекламные паузы также могут использоваться как сервером контент-провайдера, так и пользователем для восстановления соединения, если предыдущее оказалось ненадежным. Большинство видео в реальном времени требует только одностороннего непрерывного соединения